<template>
	<div class="todo-header">
		<input type="text" placeholder="请输入你的任务名称，按回车键确认" v-model="val" @keyup.enter="saveValue" />
	</div>
</template>

<script>
	import {
		nanoid
	} from 'nanoid'
	export default {
		name: "TodoHeader",
		// props: ['addTodo'],
		data() {
			return {
				val: ''
			}
		},
		methods: {
			saveValue() {
				if (!this.val.trim()) {
					alert('请输入待办事项！');
					return;
				}
				const todo = {
					id: nanoid(),
					title: this.val.trim(),
					done: false
				};
				// 使用 props 方式向父组件传递数据
				// this.addTodo(todo);

				// 触发自定义事件向父组件传递数据
				this.$emit('addTodo', todo);
				this.val = ''
			}
		}
	};
</script>

<style scoped>
	/*header*/
	.todo-header input {
		width: 560px;
		height: 28px;
		font-size: 14px;
		border: 1px solid #ccc;
		border-radius: 4px;
		padding: 4px 7px;
	}

	.todo-header input:focus {
		outline: none;
		border-color: rgba(82, 168, 236, 0.8);
		box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
	}
</style>